package com.uzai.console.service.vph;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.jd.jdorder.JdOrderIdDto;
import com.uzai.console.dto.vph.vphorder.*;
import com.uzai.console.vo.vph.vphorder.VphOrderInfoVo;
import com.uzai.console.vo.vph.vphorder.VphOrderReportVo;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface VphOrderService {

    /**
     * 查询唯品会订单列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderQuery
     * @return null
     */
    Page<VphOrderInfoVo> findVphOrderList(VphOrderQuery vphOrderQuery);

    /**
     * 查询唯品会订单详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderIdDto
     * @return null
     */
    VphOrderInfoVo findVphOrderInfo(VphOrderIdDto vphOrderIdDto);

    /**
     * 查询唯品会订单统计信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderQuery
     * @return null
     */
    VphOrderReportVo findVphOrderRepot(VphOrderQuery vphOrderQuery);

    /**
     * 唯品会订单删除
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderDelDto
     * @return null
     */
    Boolean delVphOrder(VphOrderDelDto vphOrderDelDto);

    /**
     * 订单确认收货
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderIdDto
     * @return null
     */
    Boolean confirmReceive(VphOrderIdDto vphOrderIdDto);

    /**
     * 订单手动维权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderIdDto
     * @return null
     */
    Boolean confirmRefund(VphOrderIdDto vphOrderIdDto);

    /**
     * 订单冻结
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderIdDto
     * @return null
     */
    Boolean confirmFrozen(VphOrderIdDto vphOrderIdDto);

    /**
     * 订单解冻
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderIdDto
     * @return null
     */
    Boolean confirmThaw(VphOrderIdDto vphOrderIdDto);

    /**
     * 订单解绑用户
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderUnbindUserDto
     * @return null
     */
    Boolean unbindUser(VphOrderUnbindUserDto vphOrderUnbindUserDto);

    /**
     * 订单绑定用户
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderBindUserDto
     * @return null
     */
    Boolean bindUser(VphOrderBindUserDto vphOrderBindUserDto);

    /**
     * 修改解冻时间
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderThawTimeDto
     * @return null
     */
    Boolean updateThawTime(VphOrderThawTimeDto vphOrderThawTimeDto);

    /**
     * 手动下载唯品会订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderDownLoadDto
     * @return null
     */
    void downloadOrder(VphOrderDownLoadDto vphOrderDownLoadDto);

    /**
     * 刷新唯品会订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderIdDto
     * @return null
     */
    void refreshOrder(VphOrderIdDto vphOrderIdDto);

    /**
     * 查询所有未绑定用户订单列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderUnbindDtoQuery
     * @return null
     */
    Page<VphOrderInfoVo> findUnbindUserList(VphOrderUnbindDtoQuery vphOrderUnbindDtoQuery);

    /**
     * 查询所有未绑定用户订单统计信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderUnbindDtoQuery
     * @return null
     */
    VphOrderReportVo findUnbindUserReport(VphOrderUnbindDtoQuery vphOrderUnbindDtoQuery);

    /**
     * 删除所有未绑定用户订单列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderDeleteUnbindDto
     * @return null
     */
    Boolean deleteUnbindUserList(VphOrderDeleteUnbindDto vphOrderDeleteUnbindDto);

    /**
     * 更新7天前未收货订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param merId
     * @return null
     */
    void updateVphOrderUnReceivedList(Long merId);


    /**
     * 追回返利
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param vphOrderIdDto
     * @return null
     */
    Boolean rebateRefound(VphOrderIdDto vphOrderIdDto);

}
